import java.util.HashSet;
import java.util.Set;

public class HashSetTest {
    public static void main(String[] args) {
        Set<Object> set = new HashSet<Object>();
        set.add('s');
        set.add(2);
        set.add(1);

        for (Object obj : set) {
            System.out.println(obj);
            // 1, 2, s : HashSet的无序性，元素的顺序不是添加的顺序，而是根据元素的hashCode值决定的
        }

        System.out.println(set.add('s'));

        for (Object obj : set) {
            System.out.println(obj);
            // 1, 2, s : HashSet不允许重复元素，判断重复的标准是元素的equals()方法
            // 1. 先判断hashCode是否相等，如果不相等，计算存放位置，如果位置上没有元素，直接添加，有就以链表的形式添加
            // 2. 如果hashCode相等，再判断equals()方法是否相等，如果相等，不添加，否则添加

        }
    }
}
